package com.tsy.server.manage.service;

import com.tsy.server.manage.model.dto.LogsFileDTO;
import com.tsy.server.manage.model.dto.LogsFileUploadDTO;
import com.dji.sdk.cloudapi.log.LogFileIndex;

import java.util.List;
import java.util.Optional;

/**
 * @author sean
 * @version 1.2
 * @date 2022/9/8
 */
public interface ILogsFileIndexService {

    /**
     * 插入设备日志的索引。
     * @param file 日志索引数据
     * @param deviceSn 设备序列号
     * @param domain 设备域
     * @param fileId 文件ID
     * @return
     */
    Boolean insertFileIndex(LogFileIndex file, String deviceSn, Integer domain, String fileId);

    /**
     * 根据文件ID查询日志文件上传信息。
     * @param fileId 文件ID
     * @return
     */
    Optional<LogsFileUploadDTO> getFileIndexByFileId(String fileId);

    /**
     * 批量查询日志文件上传信息。
     * @param fileIds 文件ID列表
     * @return
     */
    List<LogsFileUploadDTO> getFileIndexByFileIds(List<LogsFileDTO> fileIds);

    /**
     * 根据文件ID列表删除日志索引数据。
     * @param fileIds 文件ID列表
     */
    void deleteFileIndexByFileIds(List<String> fileIds);
}
